
#ifndef _RADIX_ENGINE_IMPL_ENGINE_H_
#define _RADIX_ENGINE_IMPL_ENGINE_H_

#include <Engine/Engine.h>

_BeginNamespace(Radix)

class Engine :public IEngine
{
public:
	Engine();
	virtual ~Engine();

public:
	virtual bool init(const StringValueMap& params);
	virtual void exit();
	virtual void update(real elapsed);
	virtual ISceneSystem* sceneSystem();

private:
	IComponentSystem* mComponentSystem;

	IRenderSystem* mRenderSystem;
	IAudioSystem* mAudioSystem;
	IInputSystem* mInputSystem;
	IPhysxSystem* mPhysxSystem;

	ISceneSystem* mSceneSystem;

	Logger mLogger;
};

_EndNamespace(Radix)

#endif//_RADIX_ENGINE_IMPL_ENGINE_H_
